home *** CD-ROM | disk | FTP | other *** search
/ Apple Reference & Presen…rary 6 (Reseller Edition) / Apple Ref. & Pres. Lib.v6.0.toast / pc / 3-Presentations / Apple Demos / Training / HyperCard 2.0 Training / •HC 2.0-4 / stack.txt < prev   
Text File  |  1990-04-06  |  8KB  |  273 lines

  1. -- stack: in.0-4
  2. -- format: 8 (HyperCard 1)
  3. -- flags: 0x1000 (none)
  4. -- protect password hash: 0
  5. -- maximum user level: 5 (scripting)
  6. -- window: Rect(x1=0, y1=0, x2=0, y2=0)
  7. -- screen: Rect(x1=0, y1=0, x2=0, y2=0)
  8. -- card dimensions: w=0 h=0
  9. -- scroll: x=0 y=0
  10. -- background count: 5
  11. -- first background id: 2767
  12. -- card count: 34
  13. -- first card id: 13805
  14. -- list block id: 19931
  15. -- print block id: 6670
  16. -- font table block id: 0
  17. -- style table block id: 0
  18. -- free block count: 0
  19. -- free size: 0 bytes
  20. -- total size: 162240 bytes
  21. -- stack block size: 7680 bytes
  22. -- created by hypercard version: 0x01228000
  23. -- compacted by hypercard version: 0x01228000
  24. -- modified by hypercard version: 0x01228000
  25. -- opened by hypercard version: 0x01228000
  26. -- patterns[0]: 0x0000000000000000
  27. -- patterns[1]: 0x8000000008000000
  28. -- patterns[2]: 0x8800220088002200
  29. -- patterns[3]: 0x8888222288882222
  30. -- patterns[4]: 0x88AA22AA88AA22AA
  31. -- patterns[5]: 0xCCAA33AACCAA33AA
  32. -- patterns[6]: 0xEEAABBAAEEAABBAA
  33. -- patterns[7]: 0xEEBBBBEEEEBBBBEE
  34. -- patterns[8]: 0xFFBBFFEEFFBBFFEE
  35. -- patterns[9]: 0xFFBBFFFFFFBBFFFF
  36. -- patterns[10]: 0x8010022001084004
  37. -- patterns[11]: 0xFFFFFFFFFFFFFFFF
  38. -- patterns[12]: 0x8822882288228822
  39. -- patterns[13]: 0x1122448811224488
  40. -- patterns[14]: 0xC4800C6843023026
  41. -- patterns[15]: 0xB130031BD8C00C8D
  42. -- patterns[16]: 0xAA00AA00AA00AA00
  43. -- patterns[17]: 0x8822552288225522
  44. -- patterns[18]: 0x8855225588552255
  45. -- patterns[19]: 0x77DD77DD77DD77DD
  46. -- patterns[20]: 0x8000000000000000
  47. -- patterns[21]: 0xAA55AA55AA55AA55
  48. -- patterns[22]: 0x038448300C020101
  49. -- patterns[23]: 0x8244394482010101
  50. -- patterns[24]: 0x8814224188412214
  51. -- patterns[25]: 0x8080413E080814E3
  52. -- patterns[26]: 0x22048C7422179810
  53. -- patterns[27]: 0xBE808808EB088880
  54. -- patterns[28]: 0x25C8328964244C92
  55. -- patterns[29]: 0xA29C41BE2AC914EB
  56. -- patterns[30]: 0x40A00000040A0000
  57. -- patterns[31]: 0x8040200002040800
  58. -- patterns[32]: 0xAA00800088008000
  59. -- patterns[33]: 0xB700EA00AD005B00
  60. -- patterns[34]: 0x2449922449922449
  61. -- patterns[35]: 0x4992244992244992
  62. -- patterns[36]: 0x1000000004000080
  63. -- patterns[37]: 0xAAAAAAAAAAAAAAAA
  64. -- patterns[38]: 0xFF7FBE5DA2418000
  65. -- patterns[39]: 0xFAF5FAF5A050A050
  66. -- checksum: 0x0
  67. ----- HyperTalk script -----
  68. -- ================ Apple Training Support =================
  69. --
  70. -- Project Name: HyperCard 2.0 Product Training
  71. --
  72. -- Apple employees:
  73. -- Design and Development: Jeff Brechlin
  74. -- Team Leader: Mary VanRiper
  75. --
  76. -- Contractors:
  77. -- Design/Animations: Anne Wysocki
  78. -- Programmers: Gabriel Acosta, Kristi Wachter, Anne Wysocki
  79. -- Last modified: April 6, 1990
  80. -- ========================================================
  81.  
  82.  
  83. on closeBackground
  84.   hide fld "Feedback"
  85.   pass closeBackground
  86. end closeBackground
  87.  
  88.  
  89. -- This handler dehilites the buttons and hides the feedback on cds.
  90. on resetCd
  91.   dehiliteBtns
  92.   hideFeedback
  93. end resetCd
  94.  
  95. -- This GoNext handler hides the feedback fld if it's empty.
  96. on goNext
  97.   lock screen
  98.   hide fld "feedback"
  99.   go next
  100.   if fld "feedback" is not empty then show fld "feedback"
  101.   unlock screen with wipe left
  102. end goNext
  103.  
  104. -- This GoPrev handler hides the feedback fld if it's empty.
  105. on goPrev
  106.   lock screen
  107.   hide fld "feedback"
  108.   go prev
  109.   if fld "feedback" is not empty then show fld "feedback"
  110.   unlock screen with wipe right
  111. end goPrev
  112.  
  113. --=========  CHECK ANSWERS
  114. -- This handler checks the user's answer on cards that have
  115. -- a single answer.  It shows feedback using "whichIsHilited",
  116. -- "noAns", and "ans", all found in this stack script.
  117. on checkOneRight cdOrBg
  118.   hide fld "feedback"
  119.   put whichIsHilited() into choice
  120.   if choice is "none" then
  121.     noAns cdOrBg
  122.   else
  123.     ans choice,cdOrBg
  124.   end if
  125. end checkOneRight
  126.  
  127. -- This handler checks the user's answer on cards that have
  128. -- more than one answer.  It shows feedback using "noAns" and "ans",
  129. -- which are found in this stack script.
  130. on checkManyRight cdOrBg
  131.   put empty into choices
  132.   repeat with i=1 to number of cd btns-2
  133.     if the hilite of btn ("choice" & i) is true then
  134.       put i after choices
  135.     end if
  136.   end repeat
  137.   if choices is fld "answer" then ans 1,cdOrBg
  138.   else if length(choices) = 0 then noAns cdOrBg
  139.   else if length(choices) = 1 then ans 2,cdOrBg
  140.   else ans 3,cdOrBg
  141. end checkManyRight
  142.  
  143.  
  144. --=========  RESET BUTTONS
  145. -- This handler resets draggable buttons to their original locations.
  146. on resetBtns
  147.   repeat with i = 1 to number of cd btns
  148.     moveBtnBack i
  149.   end repeat
  150. end resetBtns
  151.  
  152. -- This handler reset a single draggable btn to its original location.
  153. on moveBtnBack i
  154.   set the loc of btn i to line i of cd fld "theLocs"
  155. end moveBtnBack
  156.  
  157. --=========  BUTTON HILITES
  158. -- This handler returns the number of the hilited button.  If no
  159. -- button is hilited, it returns "none".
  160. function whichIsHilited
  161. repeat with i=1 to number of cd btns
  162.   if the hilite of btn i is true then
  163.     return i
  164.   end if
  165. end repeat
  166. return "none"
  167. end whichIsHilited
  168.  
  169. -- This handler dehilites all btns, then hilites the target.
  170. -- Used for groups of radio buttons.
  171. on HiliteRadio
  172.   dehiliteBtns
  173.   set the hilite of the target to true
  174. end HiliteRadio
  175.  
  176. -- This handler dehilites all btns.
  177. on dehiliteBtns
  178.   repeat with i = 1 to number of cd btns
  179.     set the hilite of cd btn i to false
  180.   end repeat
  181. end dehiliteBtns
  182.  
  183. --=========  FEEDBACK
  184. -- This handler shows feedback when the user presses the "Done" button
  185. -- before choosing an answer.  The "cdOrBg" argument handles cds that
  186. -- must show feedback in the cd layer (because of cd-layer graphics).
  187. on noAns cdOrBg
  188.   lock screen
  189.   if cdOrBg contains "c" then
  190.     put "Please select an answer first." into cd fld "feedback"
  191.     show cd fld "Feedback"
  192.   else
  193.     put "Please select an answer first." into fld "feedback"
  194.     show fld "Feedback"
  195.   end if
  196.   unlock screen with wipe right
  197. end noAns
  198.  
  199. -- This handler gives feedback  The "cdOrBg" argument handles cds that
  200. -- must show feedback in the cd layer (because of cd-layer graphics).
  201. on ans num,cdOrBg
  202.   lock screen
  203.   if cdOrBg contains "c" then
  204.     put line num of fld "AllFeed" into cd fld "feedback"
  205.     show cd fld "feedback"
  206.   else
  207.     put line num of fld "AllFeed" into fld "feedback"
  208.     show fld "feedback"
  209.   end if
  210.   unlock screen with wipe right
  211. end ans
  212.  
  213. -- This handler hides feedback.  It checks for the presence of a
  214. -- cd-layer feedback fld; if it finds one, it hides it.
  215. on hideFeedback
  216.   put empty into fld "feedback"
  217.   hide fld "feedback"
  218.   if number of cd flds > 0 then
  219.     if short name of cd fld (number of cd flds) is "Feedback" then
  220.       put empty into cd fld "feedback"
  221.       hide cd fld "feedback"
  222.     end if
  223.   end if
  224. end hideFeedback
  225.  
  226. --=========  DRAGGING OBJECTS
  227. -- This handler moves a btn with the mouse, allowing it to be dragged.
  228. on dragTarg
  229.   set the loc of the target to the mouseLoc
  230. end dragTarg
  231.  
  232. -- This handler takes care of dropping btns on cards where they can
  233. -- be dropped into one of several boxes.
  234. -- If it is within a dropoff box, it is centered there; otherwise,
  235. -- it's moved back to its original position.
  236. on dropIt howMany
  237.   repeat with i=1 to howMany
  238.     if loc of the target is within rect of cd fld ("definition" & i) then
  239.       set loc of the target to loc of cd fld ("definition" & i)
  240.       exit dropIt
  241.     end if
  242.   end repeat
  243.   moveBtnBack the number of the target
  244. end dropIt
  245.  
  246. --===================
  247.  
  248. -- These handlers trap for arrow keys and menu choices
  249. -- so they can't be used to navigate.
  250.  
  251. on arrowKey
  252. end arrowKey
  253.  
  254. on enterKey
  255. end enterKey
  256.  
  257. on returnKey
  258. end returnKey
  259.  
  260. on doMenu menuChoice
  261.   if menuChoice is in "Home,Quit HyperCard,Help,New Stack...,Open Stack..." then
  262.     global CameFrom,stakName
  263.     put the short name of this cd into CameFrom
  264.     put the short name of this stack into stakName
  265.     lock screen
  266.     go to cd "hi" of stack "Intro to HyperCard 2.0"
  267.   else if menuChoice is in "Back,Recent,First,Prev,Next,Last" or menuChoice is in "Find...,Message,New Card,Delete Card,Cut Card" then
  268.     exit to HyperCard
  269.   end if
  270.   pass doMenu
  271. end doMenu
  272.  
  273.